1. Field of the Invention
The field of the invention relates generally to mechanisms for maintaining a loop-free topology in a layer 2 switched network or the like. More particularly, it is related to mechanisms for maintaining a loop-free topology during restart of a network device's (e.g., switch's) software.
2. Background of the Invention
The Spanning Tree Protocol (STP) typically executes on a switch and is responsible for maintaining a loop free topology in a Layer 2 (L2) switched network. A general description of the STP algorithm may be found in the IEEE standard documents (1) “IEEE standard for local and metropolitan area networks—common specification. Part 3: media access control (MAC) bridges—amendment 2: rapid reconfiguration”, LAN/MAN Standards Committee of the IEEE Computer Society, USA, IEEE Std 802.1w-2001, E-ISBN: 0-7381-2925-9, ISBN: 0-7381-2924-0, (2001) and (2) “IEEE Standard for Local and metropolitan area networks Media Access Control (MAC) Bridges”, IEEE Std 802.1D-2004 (Revision of IEEE Std 802.1D-1998), E-ISBN: 0-7381-3982-3, ISBN: 0-7381-3982-3, (2004), which documents are incorporated herein by reference in their entirety. STP operates by periodically exchanging Bridge Protocol Data Units (BPDUs) with neighbor switches and setting port states to Forwarding/Blocking/Listening/Learning appropriately.
Today, when a switch linecard's software is to be restarted, for example, during an upgrade or downgrade procedure, all L2 ports on the linecard are brought down for the period of the restart. This causes disruption of L2 traffic and reconvergence of network topology. The ports have to be brought down during restart because port state on the restarting linecard cannot be changed since the software that alters the port states, referred to as the “Linecard control plane software”, is unavailable once the restart has commenced. If the L2 ports are not brought down during restart, topology change in the rest of the network could result in a loop during the restart. Additionally, the blocked ports of the restarting linecard will cause a topology change that affects the entire network. In other words, the STP topology will have to converge again so as to determine alternative paths around the blocked ports.
Another situation is when the control plane software is restarted (e.g., during an upgrade or downgrade) in a switch with a single supervisor or the supervisor software itself is being upgraded. The supervisor typically is responsible for exchanging control messages with other switches to thereby implement STP, among other tasks. During restart of a supervisor of a switch, BPDUs cannot be exchanged between the restarting switch and other switches. When a non-restarting switch in the network fails to receive a BPDU for the two times Forwarding Delay (30 sec), this may cause an alteration in the port states of the non-restarting switch, which can cause loops. Because of this, in current implementations, all L2 ports are brought down during single supervisor restart, so that they cannot contribute to loop formation.
In sum, current mechanisms for handling software restart of supervisor or linecard software is disruptive for L2 data plane traffic as all ports are brought down to thereby result in Spanning Tree topology reconvergence. Accordingly, improved, non-disruptive mechanisms for maintaining a loop-free layer 2 topology during a software upgrade of a network device's linecard or supervisor software are needed.